From 701d6fee2059bfed108c5761758f191f867d48f4 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Fri, 18 Aug 2006 17:59:26 +0100 Subject: [PATCH] [XEN] Remove shadow2 dependencies from common code. Disable debugtrace functionality even in debug builds: it's currently only used by shadow2 maintainers. Signed-off-by: Keir Fraser --- xen/arch/x86/shadow2-common.c | 18 +++++++++++++++++- xen/arch/x86/shadow2.c | 2 +- xen/common/keyhandler.c | 23 ----------------------- xen/common/memory.c | 9 ++------- xen/drivers/char/console.c | 12 ++++++++++-- xen/include/xen/lib.h | 4 ++-- 6 files changed, 32 insertions(+), 36 deletions(-) diff --git a/xen/arch/x86/shadow2-common.c b/xen/arch/x86/shadow2-common.c index 4b3b49e333..89d3691bc4 100644 --- a/xen/arch/x86/shadow2-common.c +++ b/xen/arch/x86/shadow2-common.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -41,7 +42,22 @@ #if SHADOW2_AUDIT int shadow2_audit_enable = 0; -#endif + +static void shadow2_audit_key(unsigned char key) +{ + shadow2_audit_enable = !shadow2_audit_enable; + printk("%s shadow2_audit_enable=%d\n", + __func__, shadow2_audit_enable); +} + +static int __init shadow2_audit_key_init(void) +{ + register_keyhandler( + 'O', shadow2_audit_key, "toggle shadow2 audits"); + return 0; +} +__initcall(shadow2_audit_key_init); +#endif /* SHADOW2_AUDIT */ static void sh2_free_log_dirty_bitmap(struct domain *d); diff --git a/xen/arch/x86/shadow2.c b/xen/arch/x86/shadow2.c index b75c7062bd..597a005cdf 100644 --- a/xen/arch/x86/shadow2.c +++ b/xen/arch/x86/shadow2.c @@ -111,7 +111,7 @@ typedef enum { ft_demand_write = FETCH_TYPE_DEMAND | FETCH_TYPE_WRITE, } fetch_type_t; -#ifndef NDEBUG +#ifdef DEBUG_TRACE_DUMP static char *fetch_type_names[] = { [ft_prefetch] "prefetch", [ft_demand_read] "demand read", diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index 1fb50b6bd2..e9e2b4d385 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -255,22 +255,6 @@ static void do_debug_key(unsigned char key, struct cpu_user_regs *regs) bit. */ } -#ifndef NDEBUG -static void debugtrace_key(unsigned char key) -{ - debugtrace_toggle(); -} - -static void shadow2_audit_key(unsigned char key) -{ - extern int shadow2_audit_enable; - - shadow2_audit_enable = !shadow2_audit_enable; - printk("%s shadow2_audit_enable=%d\n", - __func__, shadow2_audit_enable); -} -#endif - void initialize_keytable(void) { open_softirq(KEYPRESS_SOFTIRQ, keypress_softirq); @@ -289,13 +273,6 @@ void initialize_keytable(void) register_keyhandler( 't', read_clocks, "display multi-cpu clock info"); -#ifndef NDEBUG - register_keyhandler( - 'O', shadow2_audit_key, "toggle shadow2 audits"); - register_keyhandler( - 'T', debugtrace_key, "toggle debugtrace to console/buffer"); -#endif - #ifdef PERF_COUNTERS register_keyhandler( 'p', perfc_printall, "print performance counters"); diff --git a/xen/common/memory.c b/xen/common/memory.c index 9962c2e89a..75683ca0a1 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -126,11 +126,6 @@ populate_physmap( for ( j = 0; j < (1 << extent_order); j++ ) guest_physmap_add_page(d, gpfn + j, mfn + j); } - else if ( unlikely(shadow2_mode_translate(d)) ) - { - for ( j = 0; j < (1 << extent_order); j++ ) - shadow2_guest_physmap_add_page(d, gpfn + j, mfn + j); - } else { for ( j = 0; j < (1 << extent_order); j++ ) @@ -184,7 +179,7 @@ guest_remove_page( (unsigned long)page->count_info, page->u.inuse.type_info); } - shadow2_guest_physmap_remove_page(d, gmfn, mfn); + guest_physmap_remove_page(d, gmfn, mfn); put_page(page); @@ -255,7 +250,7 @@ translate_gpfn_list( if ( (d = find_domain_by_id(op.domid)) == NULL ) return -ESRCH; - if ( !(shadow_mode_translate(d) || shadow2_mode_translate(d)) ) + if ( !shadow_mode_translate(d) ) { put_domain(d); return -EINVAL; diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index f516230c29..1bba161223 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -427,7 +427,7 @@ int console_getc(void) * ************************************************************** */ -#ifndef NDEBUG +#ifdef DEBUG_TRACE_DUMP /* Send output direct to console, or buffer it? */ static volatile int debugtrace_send_to_console; @@ -459,7 +459,7 @@ static void debugtrace_dump_worker(void) printk("debugtrace_dump() finished\n"); } -void debugtrace_toggle(void) +static void debugtrace_toggle(void) { unsigned long flags; @@ -536,6 +536,11 @@ void debugtrace_printk(const char *fmt, ...) spin_unlock_irqrestore(&debugtrace_lock, flags); } +static void debugtrace_key(unsigned char key) +{ + debugtrace_toggle(); +} + static int __init debugtrace_init(void) { int order; @@ -557,6 +562,9 @@ static int __init debugtrace_init(void) debugtrace_bytes = bytes; + register_keyhandler( + 'T', debugtrace_key, "toggle debugtrace to console/buffer"); + return 0; } __initcall(debugtrace_init); diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h index e7d84afd92..00bb0830e9 100644 --- a/xen/include/xen/lib.h +++ b/xen/include/xen/lib.h @@ -40,8 +40,8 @@ struct domain; void cmdline_parse(char *cmdline); -#ifndef NDEBUG -extern void debugtrace_toggle(void); +/*#define DEBUG_TRACE_DUMP*/ +#ifdef DEBUG_TRACE_DUMP extern void debugtrace_dump(void); extern void debugtrace_printk(const char *fmt, ...); #else -- 2.30.2